package com.fowo.api.inventory.model;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;

/**
 * 库存操作项基类
 * @author yl_ls
 */
@Getter
@Setter
public abstract class BaseInventoryItemVo {
    /**
     * 备注
     */
    @TableField(value = "[remark")
    @Schema(title = "备注")
    private String remark;
    /**
     * 单据类型
     */
    @TableField(value = "`document_type`")
    @Schema(title = "单据类型")
    private String documentType;
    /**
     * FNSKU
     */
    @TableField(value = "`fn_sku`")
    @Schema(title = "FNSKU")
    private String fnSku;
    /**
     * MSKU
     */
    @TableField(value = "`shop_id`")
    @Schema(title = "shopId")
    private String shopId;
    /**
     * 关联单据号
     */
    @Schema(title = "关联单据号")
    private String formNum;

    /**
     * 关联制单人
     */
    @Schema(title = "关联制单人")
    private String formOperator;

    /**
     * 操作名
     */
    @Schema(title = "操作名")
    private String operate;

    /**
     * 操作唯一键
     */
    @Schema(title = "操作唯一键")
    private String operateKey;

    /**
     * 项目内码
     */
    @Schema(title = "项目内码")
    private Long projectId;

    /**
     * 操作数量
     */
    @Schema(title = "操作数量")
    private BigDecimal qty;

    /**
     * 操作数量可以是负数
     */
    @Schema(title = "接受负数量")
    private Boolean supportNegative;

    /**
     * 批号
     */
    @Schema(title = "批号")
    private String batchNo;

    /**
     * 库存物料接口
     */
    @Schema(title = "库存物料接口")
    private InventoryItem item;

    /**
     * 自定义单号id 批次库存表添加
     */
    @Schema(title = "自定义单号id")
    private Long customId;

    /**
     * 自定义单号id 批次库存表添加
     */
    @Schema(title = "自定义单号子id")
    private Long customBdId;
    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData1;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData2;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData3;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData4;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData5;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData6;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData7;

    /**
     * 用户数据
     */
    @Schema(title = "用户数据，此数据直接保存到库存变动表内，不做其它处理")
    private String userData8;
}

